package com.homestead.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author yhb
 * @date 2021-03-16 11:15
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MethodRedisLock {
    /**
     * lockName前缀
     */
    String lockNamePrefix() default "";

    /**
     * 等待时间
     */
    long waitTime();

    /**
     * redis过期时间
     */
    long leaseTime();

    /**
     * 时间单位
     * @return
     */
    TimeUnit timeUnit();
}
